#ifndef XGUI_MODULE_H
#define XGUI_MODULE_H

#ifdef XEXPORTING
#define XEXPORT_DLL __declspec(dllexport)
#else
#define XEXPORT_DLL __declspec(dllimport)
#endif

#include <XDraw.h>
#include <XInput.h>
#include <XWindow.h>

class XEXPORT_DLL XGuiModule
{
private:
	std::vector<XWindow*> Window;
	XHash ActiveWindow;
	XDrawModule* Drawer;
	XInputModule* Input;
	XTexture* Texture;
	XFont* Font;
public:
	XGuiModule();

	void RegisterWindow(XWindow* window);
	void UnregisterWindow(XHash hash);

	void Initialize(XDrawModule* drawer, XInputModule* input);
	void PreUpdate();
	void PostUpdate();
	void Exit();
};


#endif